package com.gbas.comu.service;

import com.gbas.comu.dao.DaoService;
import com.gbas.comu.model.Futbolista;
import com.gbas.comu.model.Jugador;
import com.gbas.comu.model.Liga;
import org.hibernate.criterion.Restrictions;

import java.util.List;

public class FutbolistaService {
    public static void fichaFutbolista(Long idJugador, Long idFutbolista) {
        final Jugador jugador = DaoService.getJugadorDAO().findById(idJugador);
        if (jugador != null) {
            final Futbolista futbolista = DaoService.getFutbolistaDAO().findById(idFutbolista);
            if (futbolista != null) {
                jugador.addFutbolista(futbolista);
                //DaoService.getJugadorDAO().saveCommit(jugador);
                jugador.getLiga().addFutbolista(futbolista);
            }
        }
    }

    public static List<Futbolista> getFutbolistasSinJugador(Long idLiga) {
        final Liga liga = DaoService.getLigaDAO().findById(idLiga);

//        final List<Futbolista> futbolistas = DaoService.getFutbolistaDAO().findByCriteria(Restrictions.not(Restrictions.in("jugadores", liga.getJugadores())));


        final List<Futbolista> futbolistasSinEquipo = DaoService.getFutbolistaDAO().findAll();
        futbolistasSinEquipo.removeAll(liga.getFutbolistas());

        return futbolistasSinEquipo;
    }
    public static void bajaJugador(Jugador jugador) {

    }

}
